home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / prim / about.el.z / about.el
Encoding:
Text File  |  1998-05-21  |  65.6 KB  |  1,457 lines

  1. ;;; about.el --- the About The Authors page (shameless self promotion).
  2.  
  3. ;; Copyright (c) 1997 Free Software Foundation, Inc.
  4.  
  5. ;; Keywords: extensions
  6. ;; Version: 2.4
  7. ;; Maintainer: Hrvoje Niksic <hniksic@srce.hr>
  8.  
  9. ;; This file is part of XEmacs.
  10.  
  11. ;; XEmacs is free software; you can redistribute it and/or modify it
  12. ;; under the terms of the GNU General Public License as published by
  13. ;; the Free Software Foundation; either version 2, or (at your option)
  14. ;; any later version.
  15.  
  16. ;; XEmacs is distributed in the hope that it will be useful, but
  17. ;; WITHOUT ANY WARRANTY; without even the implied warranty of
  18. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  19. ;; General Public License for more details.
  20.  
  21. ;; You should have received a copy of the GNU General Public License
  22. ;; along with XEmacs; see the file COPYING.  If not, write to the 
  23. ;; Free Software Foundation, 59 Temple Place - Suite 330,
  24. ;; Boston, MA 02111-1307, USA.
  25.  
  26. ;;; Synched up with: Not in FSF.
  27.  
  28. ;; Original code: Jamie Zawinski <jwz@netscape.com>
  29. ;; Text: Ben Wing <wing@666.com>, Jamie Zawinski <jwz@netscape.com>
  30. ;; Hard: Amiga 1000, Progressive Peripherals Frame Grabber.
  31. ;; Soft: FG 2.0, DigiPaint 3.0, pbmplus (dec 91), xv 3.0.
  32. ;; Modified for 19.11 by Eduardo Pelegri-Llopart <pelegri@eng.sun.com>
  33. ;;              and Chuck Thompson <cthomp@xemacs.org>
  34. ;; More hacking for 19.12 by Chuck Thompson and Ben Wing.
  35. ;; 19.13 and 19.14 updating done by Chuck Thompson.
  36. ;; 19.15 and 20.0 updating done by Steve Baur and Martin Buchholz.
  37.  
  38. ;; Completely rewritten for 20.3 by Hrvoje Niksic <hniksic@srce.hr>.
  39. ;; The original had no version numbers; I numbered the rewrite as 2.0.
  40.  
  41. ;; Many things in this file are to gag.  Ideally, we should just use
  42. ;; HTML (or some other extension, e.g. info) for this sort of thing.
  43. ;; However, W3 loads too long and is too large to be dumped with
  44. ;; XEmacs.
  45.  
  46. ;; If you think this is ugly now -- o boy, you should have seen it
  47. ;; before.
  48.  
  49. (require 'wid-edit)
  50.  
  51. ;; People in this list have their individual links from the main page,
  52. ;; or from the `Legion' page.  If they have an image, it should be
  53. ;; named after the CAR of the list element (baw -> baw.xpm).
  54. ;;
  55. ;; If you add to this list, you'll want to update
  56. ;; `about-maintainer-info' (and maybe `about-hackers'.
  57. (defvar xemacs-hackers
  58.   '((ajc      "Andrew Cosgriff"   "ajc@bing.wattle.id.au")
  59.     (baw      "Barry Warsaw"      "bwarsaw@python.org")
  60.     (bw       "Bob Weiner"        "weiner@altrasoft.com")
  61.     (cthomp   "Chuck Thompson"    "cthomp@xemacs.org")
  62.     (dmoore   "David Moore"       "dmoore@ucsd.edu")
  63.     (dkindred "Darrell Kindred"      "dkindred@cmu.edu")
  64.     (dv       "Didier Verna"      "verna@inf.enst.fr")
  65.     (hniksic  "Hrvoje Niksic"     "hniksic@srce.hr")
  66.     (jareth   "Jareth Hein"       "jhod@camelot-soft.com")
  67.     (jason    "Jason Mastaler"      "jason@mastaler.com")
  68.     (jens     "Jens Lautenbacher" "jens@lemcbed.lem.uni-karlsruhe.de")
  69.     (juhp     "Jens-Ulrik Holger Petersen" "petersen@kurims.kyoto-u.ac.jp")
  70.     (jwz      "Jamie Zawinski"    "jwz@netscape.com")
  71.     (kazz     "IENAGA Kazuyuki"   "ienaga@jsys.co.jp")
  72.     (kyle     "Kyle Jones"        "kyle_jones@wonderworks.com")
  73.     (larsi    "Lars Magne Ingebrigtsen" "larsi@gnus.org")
  74.     (marcpa   "Marc Paquette"      "marcpa@CAM.ORG")
  75.     (mly      "Richard Mlynarik"  "mly@adoc.xerox.com")
  76.     (morioka  "MORIOKA Tomohiko"  "morioka@jaist.ac.jp")
  77.     (mrb      "Martin Buchholz"   "mrb@sun.eng.com")
  78.     (ograf    "Oliver Graf"       "ograf@fga.de")
  79.     (pez      "Peter Pezaris"      "pez@dwwc.com")
  80.     (piper    "Andy Piper"        "andy@parallax.co.uk")
  81.     (rickc    "Rick Campbell"     "rickc@lehman.com")
  82.     (rossini  "Anthony Rossini"      "rossini@stat.sc.edu")
  83.     (vin      "Vin Shelton"      "acs@acm.org")
  84.     (sperber  "Michael Sperber"   "sperber@informatik.uni-tuebingen.de")
  85.     (slb      "SL Baur"           "steve@xemacs.org")
  86.     (stig     "Jonathan Stigelman" "stig@hackvan.com")
  87.     (stigb    "Stig Bjorlykke"      "stigb@tihlde.hist.no")
  88.     (thiessel "Marcus Thiessel"   "thiessel@rhrk.uni-kl.de")
  89.     (vladimir "Vladimir Ivanovic" "vladimir@mri.com")
  90.     (wing     "Ben Wing"          "wing@xemacs.org")
  91.     (wmperry  "William Perry"     "wmperry@aventail.com"))
  92.   "Alist of XEmacs hackers.")
  93.  
  94. ;; The CAR of alist elements is a valid argument to `about-url-link'.
  95. ;; It is preferred to a simple string, because it makes maintenance
  96. ;; easier.  Please add new URLs to this list.
  97. (defvar about-url-alist
  98.   '((ajc       . "http://www-personal.monash.edu.au/~ajc/")
  99.     (altrasoft . "http://www.altrasoft.com/")
  100.     (baw       . "http://www.python.org/~bwarsaw/")
  101.     (cc-mode   . "http://www.python.org/ftp/emacs/")
  102.     (dkindred  . "http://www.cs.cmu.edu/People/dkindred/me.html")
  103.     (dmoore    . "http://oj.egbt.org/dmoore/")
  104.     (jason     . "http://www.mastaler.com/")
  105.     (juhp      . "http://www.kurims.kyoto-u.ac.jp/~petersen/")
  106.     (jwz       . "http://people.netscape.com/jwz/")
  107.     (kazz      . "http://www.imasy.or.jp/~kazz/")
  108.     (kyle      . "http://www.wonderworks.com/kyle/")
  109.     (larsi     . "http://www.ifi.uio.no/~larsi/")
  110.     (marcpa    . "http://www.positron911.com/products/power.htm")
  111.     (ograf     . "http://www.fga.de/~ograf/")
  112.     (pez       . "http://www.dwwc.com/")
  113.     (vin       . "http://www.upa.org/")
  114.     (stigb     . "http://www.tihlde.hist.no/~stigb/")
  115.     (wget      . "ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/")
  116.     (xemacs    . "http://www.xemacs.org/"))
  117.   "Some of the more important URLs.")
  118.  
  119. (defvar about-left-margin 3)
  120.  
  121. ;; Insert a URL link to the buffer.
  122. (defun about-url-link (what &optional echo)
  123.   (or (stringp what)
  124.       (setq what (cdr (assq what about-url-alist))))
  125.   (assert what)
  126.   (widget-create 'url-link
  127.          :button-prefix ""
  128.          :button-suffix ""
  129.          :help-echo echo
  130.          what))
  131.  
  132. ;; Attach a face to a string, in order to be inserted into the buffer.
  133. ;; Make sure that the extent is duplicable, but unique.  Returns the
  134. ;; string.
  135. (defun about-with-face (string face)
  136.   (let ((ext (make-extent 0 (length string) string)))
  137.     (set-extent-property ext 'duplicable t)
  138.     (set-extent-property ext 'unique t)
  139.     (set-extent-property ext 'start-open t)
  140.     (set-extent-property ext 'end-open t)
  141.     (set-extent-face ext face))
  142.   string)
  143.  
  144. ;; Switch to buffer NAME.  If it doesn't exist, make it and switch to it.
  145. (defun about-get-buffer (name)
  146.   (cond ((get-buffer name)
  147.      (switch-to-buffer name)
  148.      (delete-other-windows)
  149.      (goto-char (point-min))
  150.      name)
  151.     (t
  152.      (switch-to-buffer name)
  153.      (delete-other-windows)
  154.      (buffer-disable-undo)
  155.      (set-specifier left-margin-width about-left-margin (current-buffer))
  156.      nil)))
  157.  
  158. ;; Set up the stuff needed by widget.  Allowed types are `bury' and
  159. ;; `kill'.
  160. (defun about-finish-buffer (&optional type)
  161.   (or type (setq type 'bury))
  162.   (widget-insert "\n")
  163.   (if (eq type 'bury)
  164.       (widget-create 'link :help-echo "Bury buffer"
  165.              :action (lambda (&rest ignore)
  166.                    (bury-buffer))
  167.              "Remove")
  168.     (widget-create 'link :help-echo "Kill buffer"
  169.            :action (lambda (&rest ignore)
  170.                  (kill-buffer (current-buffer)))
  171.            "Kill"))
  172.   (widget-insert " this buffer.\n")
  173.   (use-local-map (make-sparse-keymap))
  174.   (set-keymap-parent (current-local-map) widget-keymap)
  175.   (if (eq type 'bury)
  176.       (progn
  177.     (local-set-key "q" 'bury-buffer)
  178.     (local-set-key "l" 'bury-buffer))
  179.     (let ((dispose (lambda () (interactive) (kill-buffer (current-buffer)))))
  180.       (local-set-key "q" dispose)
  181.       (local-set-key "l" dispose)))
  182.   (local-set-key " " 'scroll-up)
  183.   (local-set-key "\177" 'scroll-down)
  184.   (widget-setup)
  185.   (goto-char (point-min))
  186.   (toggle-read-only 1)
  187.   (set-buffer-modified-p nil))
  188.  
  189. ;; Make the appropriate number of spaces.
  190. (defun about-center (string-or-glyph)
  191.   (let ((n (- (startup-center-spaces string-or-glyph) about-left-margin)))
  192.     (make-string (if (natnump n) n 0) ?\ )))
  193.  
  194. ;; Main entry page.
  195.  
  196. ;;;###autoload
  197. (defun about-xemacs ()
  198.   "Describe the True Editor and its minions."
  199.   (interactive)
  200.   (unless (about-get-buffer "*About XEmacs*")
  201.     (widget-insert (about-center xemacs-logo))
  202.     (widget-create 'default
  203.            :format "%t"
  204.            :tag-glyph xemacs-logo)
  205.     (widget-insert "\n")
  206.     (let* ((emacs-short-version (concat emacs-major-version
  207.                     "." emacs-minor-version))
  208.        (emacs-about-version (format "version %s; Feb 1998"
  209.                     emacs-short-version)))
  210.       (widget-insert (about-center emacs-about-version))
  211.       (widget-create 'link :help-echo "The latest NEWS of XEmacs"
  212.              :action 'about-news
  213.              emacs-about-version))
  214.  
  215.     (widget-insert
  216.      "\n\n"
  217.      (about-with-face "XEmacs" 'italic)
  218.      " (formerly known as "
  219.      (about-with-face "Lucid Emacs" 'italic)
  220.      ") is a powerful, extensible text
  221. editor with full GUI support, initially based on an early version of\n"
  222.      (about-with-face "GNU Emacs 19" 'italic)
  223.      " from the Free Software Foundation and since kept up to
  224. date with recent versions of that product.  XEmacs stems from a\n")
  225.     (widget-create 'link :help-echo "An XEmacs history lesson"
  226.            :action 'about-collaboration
  227.            :button-prefix ""
  228.            :button-suffix ""
  229.            "collaboration")
  230.     (widget-insert
  231.      " of Lucid, Inc. with Sun Microsystems, Inc. and the
  232. University of Illinois with additional support having been provided by
  233. Amdahl Corporation, INS Engineering Corporation, and a huge amount of
  234. volunteer effort.
  235.  
  236. XEmacs provides a great number of ")
  237.     (widget-create 'link :help-echo "See a list of the new features"
  238.            :action 'about-features
  239.            :button-prefix ""
  240.            :button-suffix ""
  241.            "new features")
  242.     (widget-insert ".  More details on
  243. XEmacs's functionality, including bundled packages, can be obtained
  244. through the ")
  245.     (widget-create 'info-link
  246.            :help-echo "Browse the info system"
  247.            :button-prefix ""
  248.            :button-suffix ""
  249.            :tag "info"
  250.            "(dir)")
  251.  
  252.     (widget-insert
  253.      " on-line information system.\n
  254. The XEmacs web page can be browsed, using any WWW browser at\n
  255. \t\t    ")
  256.     (about-url-link 'xemacs "Visit XEmacs WWW page")
  257.     (widget-insert "\n
  258. Note that W3 (XEmacs's own browser), might need customization (due to
  259. firewalls) in order to work correctly.
  260.  
  261. XEmacs is the result of the time and effort of many people.  The
  262. developers responsible for the 20.3 release are:\n\n")
  263.  
  264.     (flet ((setup-person (who)
  265.         (widget-insert "\t* ")
  266.         (let* ((entry (assq who xemacs-hackers))
  267.            (name (cadr entry))
  268.            (address (caddr entry)))
  269.           (widget-create 'link
  270.                  :help-echo (concat "Find out more about " name)
  271.                  :button-prefix ""
  272.                  :button-suffix ""
  273.                  :action 'about-maintainer
  274.                  :tag name
  275.                  :value who)
  276.           (widget-insert (format "  <%s>\n" address)))))
  277.       ;; Setup persons responsible for this release.
  278.       (mapc 'setup-person '(slb jason mrb kyle hniksic))
  279.       (widget-insert "\n\t* ")
  280.       (widget-create 'link :help-echo "A legion of XEmacs hackers"
  281.              :action 'about-hackers
  282.              :button-prefix ""
  283.              :button-suffix ""
  284.              "And many other contributors...")
  285.       (widget-insert "\n
  286. Chuck Thompson was Mr. XEmacs from 19.11 through 19.14.  Ben Wing was
  287. crucial to each of these releases.\n\n")
  288.       (setup-person 'cthomp)
  289.       (setup-person 'wing)
  290.       (widget-insert "
  291. Jamie Zawinski was Mr. Lucid Emacs from 19.0 through 19.10, the last
  292. release actually named Lucid Emacs.  A lot of work has been done by
  293. Richard Mlynarik.\n\n")
  294.       (setup-person 'jwz)
  295.       (setup-person 'mly))
  296.     (about-finish-buffer)))
  297.  
  298. ;; View news
  299. (defun about-news (&rest ignore)
  300.   (view-emacs-news)
  301.   (message "%s" (substitute-command-keys
  302.          "Press \\[kill-buffer] to exit this buffer")))
  303.  
  304. (defun about-collaboration (&rest ignore)
  305.   (unless (about-get-buffer "*About Collaboration*")
  306.     (let ((title "Why Another Version of Emacs"))
  307.       (widget-insert
  308.        "\n"
  309.        (about-center title)
  310.        (about-with-face title 'bold)))
  311.     (widget-insert
  312.      "\n\n"
  313.      (about-with-face "The Lucid, Inc. Point of View"
  314.               'italic)
  315.      " (quite outdated)\n
  316. At the time of the inception of Lucid Emacs (the former name of
  317. XEmacs), Lucid's latest product was Energize, a C/C++ development
  318. environment.  Rather than invent (and force our users to learn) a new
  319. user interface, we chose to build part of our environment on top of
  320. the world's best editor, GNU Emacs.  (Though our product is
  321. commercial, the work we did on GNU Emacs is free software, and is
  322. useful in its own right.)
  323.  
  324. We needed a version of Emacs with mouse-sensitive regions, multiple
  325. fonts, the ability to mark sections of a buffer as read-only, the
  326. ability to detect which parts of a buffer have been modified, and many
  327. other features.
  328.  
  329. For our purposes, the existing version of Epoch was not sufficient; it
  330. did not allow us to put arbitrary pixmaps/icons in buffers, `undo' did
  331. not restore changes to regions, regions did not overlap and merge
  332. their attributes in the way we needed, and several other things.
  333.  
  334. We could have devoted our time to making Epoch do what we needed (and,
  335. in fact, we spent some time doing that in 1990) but, since the FSF
  336. planned to include Epoch-like features in their version 19, we decided
  337. that our efforts would be better spent improving Emacs 19 instead of
  338. Epoch.
  339.  
  340. Our original hope was that our changes to Emacs would be incorporated
  341. into the \"official\" v19.  However, scheduling conflicts arose, and
  342. we found that, given the amount of work still remaining to be done, we
  343. didn't have the time or manpower to do the level of coordination that
  344. would be necessary to get our changes accepted by the FSF.
  345. Consequently, we released our work as a forked branch of Emacs,
  346. instead of delaying any longer.
  347.  
  348. Roughly a year after Lucid Emacs 19.0 was released, a beta version of
  349. the FSF branch of Emacs 19 was released.  The FSF version is better in
  350. some areas, and worse in others, as reflects the differing focus of
  351. our development efforts.
  352.  
  353. We plan to continue developing and supporting Lucid Emacs, and merging
  354. in bug fixes and new features from the FSF branch as appropriate; we
  355. do not plan to discard any of the functionality that we implemented
  356. which RMS has chosen not to include in his version.
  357.  
  358. Certain elements of Lucid Emacs, or derivatives of them, have been
  359. ported to the FSF version.  We have not been doing work in this
  360. direction, because we feel that Lucid Emacs has a cleaner and more
  361. extensible substrate, and that any kind of merger between the two
  362. branches would be far easier by merging the FSF changes into our
  363. version than the other way around.
  364.  
  365. We have been working closely with the Epoch developers to merge in the
  366. remaining Epoch functionality which Lucid Emacs does not yet have.
  367. Epoch and Lucid Emacs will soon be one and the same thing.  Work is
  368. being done on a compatibility package which will allow Epoch 4 code to
  369. run in XEmacs with little or no change.\n\n"
  370.      (about-with-face "The Sun Microsystems, Inc. Point of View"
  371.               'italic)
  372.      "\n
  373. Emacs 18 has been around for a long, long time.  Version 19 was
  374. supposed to be the successor to v18 with X support.  It was going to
  375. be available \"real soon\" for a long time (some people remember
  376. hearing about v19 as early as 1984!), but it never came out.  v19
  377. development was going very, very slowly, and from the outside it
  378. seemed that it was not moving at all.  In the meantime other people
  379. gave up waiting for v19 and decided to build their own X-aware
  380. Emacsen.  The most important of these was probably Epoch, which came
  381. from the University of Illinois (\"UofI\") and was based on v18.
  382.  
  383. Around 1990, the Developer Products group within Sun Microsystems
  384. Inc., decided that it wanted an integrated editor.  (This group is now
  385. known as DevPro.  It used to be known as SunPro - the name was changed
  386. in mid-1994.)  They contracted with the University of Illinois to
  387. provide a number of basic enhancements to the functionality in Epoch.
  388. UofI initially was planning to deliver this on top of Epoch code.
  389.  
  390. In the meantime, (actually some time before they talked with UofI)
  391. Lucid had decided that it also wanted to provide an integrated
  392. environment with an integrated editor.  Lucid decided that the Version
  393. 19 base was a better one than Version 18 and thus decided not to use
  394. Epoch but instead to work with Richard Stallman, the head of the Free
  395. Software Foundation and principal author of Emacs, on getting v19 out.
  396. At some point Stallman and Lucid parted ways.  Lucid kept working and
  397. got a v19 out that they called Lucid Emacs 19.
  398.  
  399. After Lucid's v19 came out it became clear to us (the UofI and Sun)
  400. that the right thing to do was to push for an integration of both
  401. Lucid Emacs and Epoch, and to get the deliverables that Sun was asking
  402. from the University of Illinois on top of this integrated platform.
  403. Until 1994, Sun and Lucid both actively supported XEmacs as part of
  404. their product suite and invested a comparable amount of effort into
  405. it.  Substantial portions of the current code have originated under
  406. the support of Sun, either directly within Sun, or at UofI but paid
  407. for by Sun.  This code was kept away from Lucid for a while, but later
  408. was made available to them.  Initially Lucid didn't know that Sun was
  409. supporting UofI, but later Sun was open about it.
  410.  
  411. Around 1992 DevPro-originated code started showing up in Lucid Emacs,
  412. starting with the infusion of the Epoch redisplay code.  The separate
  413. code bases at Lucid, Sun, and the University of Illinois were merged,
  414. allowing a single XEmacs to evolve from that point on.
  415.  
  416. Sun originally called the integrated product ERA, for \"Emacs
  417. Rewritten Again\".  SunPro and Lucid eventually came to an agreement
  418. to find a name for the product that was not specific to either
  419. company.  An additional constraint that Lucid placed on the name was
  420. that it must contain the word \"Emacs\" in it -- thus \"ERA\" was not
  421. acceptable.  The tentatively agreed-upon name was \"XEmacs\", and this
  422. has been the name of the program since version 19.11.)
  423.  
  424. As of 1997, Sun is shipping XEmacs as part of its Developer Products
  425. integrated programming environment \"Sun WorkShop\".  Sun is
  426. continuing to support XEmacs development, with focus on
  427. internationalization and quality improvement.\n\n"
  428.      (about-with-face "Lucid goes under" 'italic)
  429.      "\n
  430. Around mid-'94, Lucid went out of business.  Lucid founder Richard
  431. Gabriel's book \"Patterns of Software\", which is highly recommended
  432. reading in any case, documents the demise of Lucid and suggests
  433. lessons to be learned for the whole software development community.
  434.  
  435. Development on XEmacs, however, has continued unabated under the
  436. auspices of Sun Microsystems and the University of Illinois, with help
  437. from Amdahl Corporation and INS Engineering Corporation.  Sun plans to
  438. continue to support XEmacs into the future.\n\n"
  439.      (about-with-face "The Amdahl Corporation point of view"
  440.               'italic)
  441.      "\n
  442. Amdahl Corporation's Storage Products Group (SPG) uses XEmacs as the
  443. focal point of a environment for development of the microcode used in
  444. Amdahl's large-scale disk arrays, or DASD's.  SPG has joint ventures
  445. with Japanese companies, and decided in late 1994 to contract out for
  446. work on XEmacs in order to hasten the development of Mule support
  447. \(i.e. support for Japanese, Chinese, etc.) in XEmacs and as a gesture
  448. of goodwill towards the XEmacs community for all the work they have
  449. done on making a powerful, modern, freely available text editor.
  450. Through this contract, Amdahl provided a large amount of work in
  451. XEmacs in the form of rewriting the basic text-processing mechanisms
  452. to allow for Mule support and writing a large amount of the support
  453. for multiple devices.
  454.  
  455. Although Amdahl is no longer hiring a full-time contractor, they are
  456. still funding part-time work on XEmacs and providing resources for
  457. further XEmacs development.\n\n"
  458.      (about-with-face "The INS Engineering point of view"
  459.               'italic)
  460.      "\n
  461. INS Engineering Corporation, based in Tokyo, bought rights to sell
  462. Energize when Lucid went out of business.  Unhappy with the
  463. performance of the Japanese support in XEmacs 19.11, INS also
  464. contributed to the XEmacs development from late 1994 to early
  465. 1995.\n")
  466.     (about-finish-buffer)))
  467.  
  468. (defun about-features (&rest ignore)
  469.   (unless (about-get-buffer "*About Features*")
  470.     (let ((title "New features in XEmacs"))
  471.       (widget-insert
  472.        "\n"
  473.        (about-center title)
  474.        (about-with-face title 'bold)))
  475.     (widget-insert
  476.      "\n
  477. * MULE (Multi-Lingual Emacs) support.  Simultaneous display of
  478.   multiple character sets is now possible.
  479.  
  480. * Support for arbitrary pixmaps in a buffer.
  481.  
  482. * A real toolbar.
  483.  
  484. * Horizontal and vertical scrollbars in all windows.
  485.  
  486. * Support for variable-width and variable height fonts.
  487.  
  488. * Support for display on multiple simultaneous X and/or TTY devices.
  489.  
  490. * Face support on TTY's, including color.
  491.  
  492. * Support for overlapping regions (or extents) and efficient handling
  493.   of a large number of such extents in a single buffer.
  494.  
  495. * Powerful, flexible control over the display characteristics of most
  496.   of the visual aspects of XEmacs through the use of specifiers, which
  497.   allow separate values to be specified for individual buffers,
  498.   windows, frames, devices, device classes, and device types.
  499.  
  500. * A clean interface to the menubar, window-system events, and key
  501.   combinations.
  502.  
  503. * Proper integration with Xt and Motif (including Motif menubars and
  504.   scrollbars).  Motif look-alike menubars and scrollbars are provided
  505.   for those systems without real Motif support.
  506.  
  507. * Text for complex languages can be entered using the XIM mechanism.
  508.  
  509. * Localization of menubar text for the Japanese locale.
  510.  
  511. * Access to the ToolTalk API.
  512.  
  513. * Support for using XEmacs frames as Xt widgets.\n\n")
  514.     (about-finish-buffer)))
  515.  
  516. (defvar about-glyphs nil
  517.   "Cached glyphs")
  518.  
  519. ;; Return a maintainer's glyph
  520. (defun about-maintainer-glyph (who)
  521.   (let ((glyph (cdr (assq who about-glyphs))))
  522.     (unless glyph
  523.       (let ((file (expand-file-name
  524.            (concat (symbol-name who)
  525.                (if (memq (device-class)
  526.                      '(color grayscale))
  527.                    "" "m")
  528.                ".xpm")
  529.            data-directory))
  530.         (data nil))
  531.     (unless (file-exists-p file)
  532.       ;; Maybe the file is compressed?
  533.       (setq file (concat file ".Z"))
  534.       (if (file-exists-p file)
  535.           ;; Decompress it.
  536.           (condition-case nil
  537.           (let ((buffer (get-buffer-create " *image*")))
  538.             (unwind-protect
  539.             (save-excursion
  540.               (message "Uncompressing image...")
  541.               (set-buffer buffer)
  542.               (erase-buffer)
  543.               (let ((coding-system-for-read 'binary)
  544.                 (coding-system-for-write 'binary))
  545.                 (insert-file-contents-literally file)
  546.                 (call-process-region (point-min) (point-max)
  547.                          "zcat" t t nil)
  548.                 (setq data
  549.                   (buffer-substring (point-min) (point-max))))
  550.               (message "Uncompressing image... done"))
  551.               (kill-buffer buffer)))
  552.         (error (setq data 'error)))
  553.         (setq file nil)))
  554.     (setq glyph
  555.           (cond ((stringp data)
  556.              (make-glyph
  557.               (if (featurep 'xpm)
  558.               `([xpm :data ,data]
  559.                 [string :data "[Image]"])
  560.             `([string :data "[Image]"]))))
  561.             ((eq data 'error)
  562.              (make-glyph [string :data "[Error]"]))
  563.             (file
  564.              (make-glyph
  565.               (if (featurep 'xbm)
  566.               `([xbm :data ,data]
  567.                 [string :data "[Image]"])
  568.             `([string :data "[Image]"]))))
  569.             (t
  570.              (make-glyph [nothing]))))
  571.     (set-glyph-property glyph 'baseline 100)
  572.     ;; Cache the glyph
  573.     (push (cons who glyph) about-glyphs)))
  574.     glyph))
  575.  
  576. ;; Insert info about a maintainer.  Add the maintainer-specific info
  577. ;; here.
  578. (defun about-maintainer-info (entry)
  579.   (ecase (car entry)
  580.     (slb
  581.      (widget-insert "\
  582. I took over the maintenance of XEmacs in November of 1996 (it
  583. seemed like a good idea at the time ...).  In real life I am a
  584. network administrator and Unix systems programmer for Calag.com,
  585. Inc. a small, but growing ISP in California.
  586.  
  587. My main hobby while not maintaining XEmacs or working is ...
  588. you have got to be kidding ...")
  589.      (widget-insert ".\n"))
  590.     (mrb
  591.      (widget-insert "\
  592. Martin is the XEmacs guy at DevPro, a part of Sun Microsystems.
  593. Martin used to do XEmacs as a `hobby' while at IBM, and was crazy
  594. enough to try to make a living doing it at Sun.
  595.  
  596. Martin starting using Emacs originally not to edit files, but to get
  597. the benefit of shell mode. He actually used to run nothing but a shell
  598. buffer, and use `xterm -e vi' to edit files.  But then he saw the
  599. light.  He dreams of rewriting shell mode from scratch.  Stderr should
  600. show up in red!!
  601.  
  602. Martin is currently working mostly on Internationalization.  He spends
  603. most of his waking hours inside a Japanized XEmacs.\n"))
  604.     (hniksic
  605.      (widget-insert "\
  606. Hrvoje is currently a student at the Faculty of Electrical
  607. Engineering and Computing in Zagreb, Croatia.  He works part-time
  608. at SRCE, where he helps run the network machines.  In his free time he
  609. is helping develop free software (especially XEmacs, as well as GNU
  610. software) and is writing his own -- he has written a small network
  611. mirroring utility Wget, see ")
  612.      (about-url-link 'wget "Download Wget")
  613.      (widget-insert ".\n"))
  614.     (wing
  615.      (widget-insert
  616.       "\
  617. I'm not a thug -- I just play one on video.
  618. My roommate says I'm a San Francisco \"Mission Critter\".\n\n"
  619.       (about-with-face "Gory stuff follows:" 'italic)
  620.       "\n
  621. In 1992 I left a stuffy East-Coast university, set out into the real
  622. world, and ended up a co-founder of Pearl Software.  As part of this
  623. company, I became the principal architect of Win-Emacs, a port of
  624. Lucid Emacs to Microsoft Windows and Windows NT (for more info, e-mail
  625. to info@pearlsoft.com).
  626.  
  627. Since April 1993, I've worked on XEmacs as a contractor for various
  628. companies, changing hats faster than Ronald Reagan's hair color (oops,
  629. did I just show my age?).  My main contributions to XEmacs include
  630. rewriting large parts of the internals and the gory Xt/Xlib
  631. interfacing, adding the Mule support, implementing the external client
  632. widget, improving the documentation (especially the Emacs Lisp
  633. manual), and being a general nuisance ... er, brainstormer for many of
  634. the new features of XEmacs.
  635.  
  636. Recently I took a job at Dimension X, where I'm working on a
  637. Java-based toolkit for developing VRML applications.\n"))
  638.     (cthomp
  639.      (widget-insert "\
  640. Chuck, through being in the wrong place at the right time, has gotten
  641. stuck with being Jamie's replacement as the primary maintainer of
  642. XEmacs.  This has caused his hair to begin falling out and quadrupled
  643. his daily coffee dosage.  Though he works at and for the University of
  644. Illinois his funding for XEmacs work actually came from Sun
  645. Microsystems.
  646.  
  647. He has worked on XEmacs since November 1992, which fact occasionally
  648. gives him nightmares.  As of October 1995, he no longer works
  649. full-time on XEmacs, though he does continue as an active maintainer.
  650. His main contributions have been the greatly enhanced redisplay
  651. engine, scrollbar support, the toolbars, configure support and
  652. numerous other features and fixes.
  653.  
  654. Rumors that Chuck is aka Black Francis aka Frank Black are completely
  655. unfounded.\n"))
  656.     (jwz
  657.      (widget-insert
  658.       "\t"
  659.       (about-with-face "\"So much to do, so little time.\"" 'italic)
  660.       "\n
  661. Jamie Zawinski was primarily to blame for Lucid Emacs from its
  662. inception in 1991, to 1994 when Lucid Inc. finally died.  He is now to
  663. be found at Netscape Communications, hacking on Netscape Navigator (he
  664. did the first Unix version and the mail and news reader).  Thankfully
  665. his extensive sleep deprivation experiments conducted during 1994 and
  666. 1995 are now a thing of the past, but his predilection for dark,
  667. Gothic music remains unabated.
  668.  
  669. Come visit his glorified .plan file at\n\n")
  670.      (about-url-link 'jwz "Visit Jamie's home page")
  671.      (widget-insert "\n"))
  672.     (mly
  673.      (widget-insert "Cars are evil.  Ride a bike.\n"))
  674.     (vladimir
  675.      (widget-insert "\
  676. Former technical lead for XEmacs at Sun.  He is now with Microtec
  677. Research Inc., working on embedded systems development tools.\n"))
  678.     (stig
  679.      (widget-insert "\
  680. Stig is sort of a tool fetishist.  He has a hate/love relationship
  681. with computers and he hacks on XEmacs because it's a good tool that
  682. makes computers somewhat less of a nuisance.  Besides XEmacs, Stig
  683. especially likes his Leatherman, his Makita, and his lockpicks.  Stig
  684. wants a MIG welder and air tools.
  685.  
  686. Stig likes to perch, hang from the ceiling, and climb on the walls.
  687. Stig has a cool van.  Stig would like to be able to telecommute from,
  688. say, the north rim of the Grand Canyon or the midst of Baja.\n"))
  689.     (stigb
  690.      (widget-insert "\
  691. Currently studying computer science in Trondheim, Norway.  Full time
  692. Linux user and proud of it.  XEmacs hacker light.  Maintainer of the
  693. RPM package.  
  694.  
  695. See:\t")
  696.      (about-url-link 'stigb "Visit Stig's home page"))
  697.     (baw
  698.      (widget-insert
  699.     "\
  700. Author of CC Mode, for C, C++, Objective-C and Java editing, and
  701. Supercite for mail and news citing.  Also various and sundry other
  702. Emacs utilities, fixes, enhancements and kludgery as whimsy, boredom,
  703. and ToT dictate (but not necessarily in that order).  See also:\n\n\t")
  704.      (about-url-link 'baw "Visit Barry's home page")
  705.      (widget-insert "\n\nand:\n\n\t")
  706.      (about-url-link 'cc-mode "Visit the CC Mode distribution")
  707.      (widget-insert "\n
  708. Daddy
  709. \(C) 1994 Warsaw
  710. ===============
  711. Drive me Daddy, drive me quick
  712. Push my pedal, shift my stick
  713. Fill me up with golden gas
  714. My rubber squeals, I go real fast
  715.  
  716. Milk me Daddy, milk me now
  717. Milk me like a big ol' cow
  718. I've got milk inside my udder
  719. Churn it up and make some butter\n"))
  720.     (piper
  721.      (widget-insert "\
  722. Author of the original \"fake\" XEmacs toolbar, and outl-mouse for
  723. mouse gesture based outlining.  Accomplished kludge contributor.\n"))
  724.     (bw
  725.      (widget-insert "\
  726. Author of the Hyperbole everyday information management hypertext
  727. system and the OO-Browser multi-language code browser.  He also
  728. designed the Altrasoft integrated tool framework for software
  729. engineers.  It runs atop XEmacs and is available from his firm,
  730. Altrasoft, which offers distributions, custom development, support,
  731. and training packages for corporate users of XEmacs, GNU Emacs and
  732. InfoDock.  See ")
  733.      (about-url-link 'altrasoft "Visit Altrasoft WWW page")
  734.      (widget-insert ".
  735.  
  736. His interests include user interfaces, information management,
  737. CASE tools, communications and enterprise integration.\n"))
  738.     (wmperry
  739.      (widget-insert "\
  740. Author of Emacs-w3, the builtin web browser that comes with XEmacs,
  741. and various additions to the C code (e.g. the database support, the
  742. PNG support, some of the GIF/JPEG support, the strikethru face
  743. attribute support).
  744.  
  745. He is currently working at Aventail, Corp. on SOCKS v5 servers.\n"))
  746.     (kyle
  747.      (widget-insert "\
  748. Author of VM, a mail-reading package that is included in the standard
  749. XEmacs distribution, and contributor of many improvements and bug
  750. fixes.  Unlike RMAIL and MH-E, VM uses the standard UNIX mailbox
  751. format for its folders; thus, you can use VM concurrently with other
  752. UNIX mail readers such as Berkeley Mail and ELM.  See\n")
  753.      (about-url-link 'kyle "Visit Kyle's Home page")
  754.      (widget-insert ".\n"))
  755.     (larsi
  756.      (widget-insert "\
  757. Author of Gnus the Usenet news and Mail reading package in the
  758. standard XEmacs distribution, and contributor of various enhancements
  759. and portability fixes.  Lars is a student at the Institute of
  760. Informatics at the University of Oslo.  He is currently plumbing away
  761. at his majors work at the Institute of Physics, working on an SCI
  762. project connected with CASCADE and CERN and stuff.
  763.  
  764. See ")
  765.      (about-url-link 'larsi "Visit the Larsissistic pages")
  766.      (widget-insert ".\n"))
  767.     (marcpa
  768.      (widget-insert "\
  769. I work for Positron Industries Inc., Public Safety Division.
  770. I'm part of the team producing POWER 911, a 911 emergency response
  771. system written in Modula3:\n")
  772.      (about-url-link 'marcpa "Visit POWER 911")
  773.      (widget-insert "\
  774. Previously, I worked at Softimage Inc., now a Microsoft company
  775. (eeekkk!), as a UNIX system administrator.  This is where I've been
  776. converted to NT.
  777.  
  778. In a previous life, I was a programmer/sysadmin at CRIM (Centre de
  779. Recherche Informatique de Montreal) for the speech recognition group.\n"))
  780.     (jens
  781.      (widget-insert "\
  782. Jens did the artwork for graphics added to XEmacs 20.2 and 19.15.
  783.  
  784. I'm currently working at the University of Karlsruhe, Germany on
  785. getting my diploma thesis on Supersymmetry (uuh, that's physics) done.
  786. After that (and all the remaining exams) I'm looking forward to make a
  787. living out of my hobbies -- computers (and graphics). But because I
  788. have no deadline for the exams and XEmacs betas are released at a high
  789. rate this may take some time...\n"))
  790.     (jareth
  791.      (widget-insert "\
  792. Jareth Hein is a mountain boy who abandoned his home state of Colorado
  793. for the perpetual state of chaos known as Tokyo in a failed attempt to
  794. become a cel-animator, and a more successful one to become a
  795. computer-game programmer. As he happens to be bilingual (guess which
  796. two?) he's been doing quite a bit of MULE hacking. He's also getting
  797. his hands dirty in the graphics areas as well.\n"))
  798.     (morioka
  799.      (widget-insert "\
  800. I am the author of tm-view (general MIME Viewer for GNU Emacs) and
  801. major author and maintainer of tm (Tools for MIME; general MIME
  802. package for GNU Emacs).  In addition, I am working to unify MULE API
  803. for Emacs and XEmacs.  In XEmacs, I have ported many mule features.
  804.  
  805. I am a doctoral student at School of Information Science of JAIST
  806. \(Japan Advanced Institute of Science and Technology, Hokuriku).  I'm
  807. interested in Natural Language, Affordance and writing systems.\n"))
  808.     (dmoore
  809.      (widget-insert "\
  810. David has contributed greatly to the quest to speed up XEmacs.  He is
  811. a student in the Computer Systems Laboratory at UCSD.  When he manages
  812. to have free time, he usually spends it on 200 mile bicycle rides,
  813. learning german or showing people the best mail & news environment
  814. he's found in 10 years.  (That'd be XEmacs, Gnus and bbdb, of course.)
  815. He can be found at `druidmuck.egbt.org 4201' at various hours of the
  816. day.
  817.  
  818. He has a page at ")
  819.      (about-url-link 'dmoore "Visit David's home page")
  820.      (widget-insert ".\n"))
  821.     (thiessel
  822.      (widget-insert "\
  823. On May 1, 1996 he started working at University of Kaiserslautern in
  824. the field of computer aided analog circuit design. His
  825. responsibilities include the development and design of a CAD-Tool for
  826. analog integrated circuits with special emphasis on distributed
  827. software concepts.
  828.  
  829. When all the daily hacking is done he tries to take care of XEmacs
  830. website at ")
  831.      (about-url-link 'xemacs "Visit XEmacs web site")
  832.      (widget-insert ".\n"))
  833.     (sperber
  834.      (widget-insert "\
  835. Mike ported EFS to XEmacs 20 and integrated EFS into XEmacs.  He's
  836. also responsible for the ports of facemenu.el and enriched.el.  When
  837. Mike isn't busy putting together patches for free software he has just
  838. installed or changing his hairstyle, he does research in modern
  839. programming languages and their implementation, and hopes that one day
  840. XEmacs will speak Scheme.\n"))
  841.     (vin
  842.      (widget-insert "\
  843. Vin maintains the XEmacs patch pages in order to bring a more
  844. stable XEmacs.  (Actually, he does it 'cause it's fun and he's been
  845. using emacs for a long, long time.)  Vin also contributed the detached
  846. minibuffer code as well as a few minor enhancements to the menubar
  847. options.
  848.  
  849. I own and operate my own consulting firm, EtherSoft.  Shhh, don't
  850. tell anyone, but it's named after an Ultimate team I used to play
  851. with in Austin, Texas - the Ether Bunnies.  I'm getting too old
  852. to play competitive Ultimate any more, so now I've gotten roped
  853. into serving on the board of directors of the Ultimate Players
  854. Association.  See ")
  855.      (about-url-link 'vin "Visit the UPA homepage")
  856.      (widget-insert ".\n"))
  857.     (ajc
  858.      (widget-insert "\
  859. When not helping maintain the XEmacs website, Andrew is a Network
  860. Software Engineer(tm) for Monash University in Australia, maintaining
  861. webservers and doing random other things.  As well as spending spare
  862. time being an Eager Young Space Cadet and fiddling with XEmacs/Gnus
  863. et. al., he spends his time pursuing, among other things, a Life.
  864. Some of this currently involves doing an A-Z (by country) of
  865. restaurants with friends, and has, in the past, involved dyeing his
  866. hair various colours (see ")
  867.      (about-url-link 'ajc "Visit Andrew's home page")
  868.      (widget-insert ".\n"))
  869.     (rickc
  870.      (widget-insert "\
  871. The hacker formerly known as Rick Busdiecker develops and maintains
  872. libraries for financial applications at Lehman Brothers during
  873. daylight hours.  In the evenings he maintains three children, and
  874. when he ought to be sleeping he co-maintains ILISP, builds XEmacs
  875. betas, and tinkers with various personal hacking projects..\n"))
  876.     (kazz
  877.      (widget-insert "\
  878. Kazz is the XEmacs lead on BSD (especially FreeBSD).
  879. His main workspace is, probably, the latest stable version of
  880. FreeBSD and it makes him comfortable and not.
  881. His *mission* is to make XEmacs runs on FreeBSD without
  882. any problem.
  883.  
  884. In real life, he is working on a PDM product based on CORBA,
  885. and doing consultation, design and implemention.
  886. He loves to play soccer, yes football!
  887. See also:")
  888.      (about-url-link 'kazz "Visit Kazz's home page")
  889.      (widget-insert ".\n"))
  890.     (dkindred
  891.      (widget-insert "\
  892. Darrell tends to come out of the woodwork a couple of weeks 
  893. before a new release with a flurry of fixes for bugs that 
  894. annoy him.  He hopes he's spared you from a core dump or two.
  895.  
  896. Darrell is currently a doctoral student in computer science at
  897. Carnegie Mellon University, but he's trying hard to kick that
  898. habit.
  899.  
  900. See ")
  901.      (about-url-link 'dkindred "Visit Darrell's WWW page")
  902.      (widget-insert ".\n"))
  903.     (pez
  904.      (widget-insert "\
  905. Author of SQL Mode, edit-toolbar, mailtool-mode, and various other
  906. small packages with varying degrees of usefulness.  Peter has
  907. recently left Wall Street to start Daedalus World Wide Corporation,
  908. a software development firm.  See ")
  909.      (about-url-link 'pez "Daedalus on the web")
  910.      (widget-insert ".\n"))
  911.     (dv
  912.      (widget-insert "\
  913. I'm currently working (Ph.D.) on the cognitive aspects of
  914. Human-Machine Interaction in Virtual Environments, and especialy on
  915. the possibility of adding (artificial) intelligence between the system 
  916. and the operator, in order to detect the intentions of the latter.
  917.  
  918. Otherwise, I'm, say, 35.82% professional Jazz guitar player,
  919. which means that's not the way I earn my crust, but things may very
  920. well reverse in the future ...\n"))
  921.     (rossini
  922.      (widget-insert "\
  923. Author of the first XEmacs FAQ, as well as minor priest in the
  924. movement to get every statistician in the world to use XEmacs for
  925. statistical programming and data analysis.  Current development lead
  926. for ESS (Emacs Speaks Statistics), a mode and inferior mode for
  927. statistical programming and data analysis for SAS, S, S-PLUS, R,
  928. XLispStat; configurable for nearly any other statistical
  929. language/package one might want.  In spare time, acts as a
  930. Ph.D. (bio)statistician for money and amusement.  Current position:
  931. Assistant Professor of Statistics at the University of South Carolina.\n"))
  932.     (ograf
  933.      (widget-insert "\
  934. I'm a student of computer sciences at the University of Koblenz. My
  935. major is computational linguistics (human language generation and
  936. analysis).
  937.  
  938. I make my living as a managing director of a small but fine company 
  939. which I started two years ago with one of my friends. We provide 
  940. business network solutions based on linux servers and various other
  941. networking products.
  942.  
  943. Most of my spare time I spent on the development of the XEmacs DnD
  944. events, a enhanced version of Tk called TkStep (better looks, DnD,
  945. and more), and various other minor hacks: ISDN-tools, cd players,
  946. python, etc...
  947.  
  948. To see some of these have a look at ")
  949.      (about-url-link 'ograf "one of my homepages")
  950.      (widget-insert ".\n"))
  951.     (juhp
  952.      (widget-insert "\
  953. I started using XEmacs-20 as my work-environment in June 1997.  I
  954. became a beta developer shortly after that (\"it seems like a good
  955. idea at the time...\" :-), so far contributing mainly bug fixes,
  956. \"find-func.el\" and improvements to \"help.el\".
  957.  
  958. My current dreams for XEmacs: move to using guile as the Lisp engine
  959. and gtk as the default X toolkit.
  960.  
  961. I have been a postdoctoral researcher at the Research Institute for
  962. Mathematical Sciences, Kyoto University, since August 1994, doing
  963. research in mathematical physics (representation theory of quantum
  964. groups).  Though now I seem to be heading for other things.
  965.  
  966. My homepage is ")
  967.      (about-url-link 'juhp "Visit Jens' homepage")
  968.      (widget-insert ".\n")) 
  969.     (jason
  970.      (widget-insert "\
  971. Beta tester and manager of the various XEmacs mailing lists.
  972. Responsible for the binary kits.
  973. Originator and maintainer of the gnus.org domain.   
  974.  
  975. Jason resides in Albuquerque, New Mexico where he keeps himself 
  976. busy with studies at the university and consulting work.
  977.  
  978. See: ")
  979.       (about-url-link 'jason "Visit Jason's homepage")
  980.       (widget-insert ".\n"))
  981. ))
  982.  
  983. ;; Setup the buffer for a maintainer.
  984. (defun about-maintainer (widget &optional event)
  985.   (let* ((entry (assq (widget-value widget) xemacs-hackers))
  986.      (who (car entry))
  987.      (name (cadr entry))
  988.      (address (caddr entry))
  989.      (bufname (format "*About %s*" name)))
  990.     (unless (about-get-buffer bufname)
  991.       ;; Display the glyph and name
  992.       (widget-insert "\n")
  993.       (widget-create 'default :format "%t"
  994.              :tag-glyph (about-maintainer-glyph who))
  995.       (widget-insert
  996.        "  " (about-with-face (format "%s" name) 'bold)
  997.        " <" address ">\n\n")
  998.       ;; Display the actual info
  999.       (about-maintainer-info entry)
  1000.       ;; I don't use `about-finish-buffer' because I want "Remove" to
  1001.       ;; kill the buffer.
  1002.       (widget-insert "\n")
  1003.       (about-finish-buffer 'kill)
  1004.       (forward-line 2))))
  1005.  
  1006. (defsubst about-tabs (str)
  1007.   (let ((x (length str)))
  1008.     (cond ((>= x 24) " ")
  1009.       ((>= x 16) "\t")
  1010.       ((>= x 8) "\t\t")
  1011.       (t "\t\t\t"))))
  1012.  
  1013. (defun about-show-linked-info (who shortinfo)
  1014.   (let* ((entry (assq who xemacs-hackers))
  1015.      (name (cadr entry))
  1016.      (address (caddr entry)))
  1017.     (widget-create 'link :help-echo (concat "Find out more about " name)
  1018.            :action 'about-maintainer
  1019.            :button-prefix ""
  1020.            :button-suffix ""
  1021.            :tag name
  1022.            :value who)
  1023.     (widget-insert (about-tabs name)
  1024.            (format "<%s>\n%s\n" address shortinfo))))
  1025.  
  1026. (defun about-hackers (&rest ignore)
  1027.   (unless (about-get-buffer "*About Hackers*")
  1028.     (let ((title "Other Contributors to XEmacs"))
  1029.       (widget-insert
  1030.        (about-center title)
  1031.        (about-with-face title 'bold)))
  1032.     (widget-insert
  1033.      "\n
  1034. Like most free software, XEmacs is a collaborative effort.  These are
  1035. some of the contributors.  We have no doubt forgotten someone; we
  1036. apologize!  You can see some of our faces under the links.\n\n")
  1037.     (about-show-linked-info 'vladimir "\
  1038. Former technical lead for XEmacs at Sun Microsystems.  He is now with
  1039. Microtec Research Inc., working on embedded systems development tools.\n")
  1040.     (about-show-linked-info 'stig "\
  1041. Peripatetic uninominal Emacs hacker.  Stig sometimes operates out of a
  1042. big white van set up for nomadic living and hacking.  Implemented the
  1043. faster stay-up Lucid menus and hyper-apropos.  Contributor of many
  1044. dispersed improvements in the core Lisp code, and back-seat
  1045. contributor for several of it's major packages.\n")
  1046.     (about-show-linked-info 'baw "\
  1047. Author of CC Mode for C, C++, Objective-C and Java editing, and
  1048. Supercite for mail and news citing.  Also various and sundry other
  1049. Emacs utilities, fixes, enhancements and kludgery as whimsy, boredom,
  1050. and ToT dictate (but not necessarily in that order).\n")
  1051.     (about-show-linked-info 'piper "\
  1052. Created the prototype for the toolbars.  Has been the first to make
  1053. use of many of the new XEmacs graphics features.\n")
  1054.     (about-show-linked-info 'bw "\
  1055. Author of the Hyperbole everyday information management hypertext
  1056. system and the OO-Browser multi-language code browser.  He also
  1057. designed the Altrasoft integrated tool framework for software
  1058. engineers.  It runs atop XEmacs and is available from his firm,
  1059. Altrasoft, which offers custom development and support packages for
  1060. corporate users of XEmacs, GNU Emacs and InfoDock.  His interests
  1061. include user interfaces, information management, CASE tools,
  1062. communications and enterprise integration.\n")
  1063.     (about-show-linked-info 'wmperry "\
  1064. Author of Emacs-w3, the builtin web browser that comes with XEmacs,
  1065. and various additions to the C code (e.g. the database support, the
  1066. PNG support, some of the GIF/JPEG support, the strikethru face
  1067. attribute support).\n")
  1068.     (about-show-linked-info 'kyle "\
  1069. Author of VM, a mail-reading package that is included in the standard
  1070. XEmacs distribution, and contributor of many improvements and bug
  1071. fixes.  Unlike RMAIL and MH-E, VM uses the standard UNIX mailbox
  1072. format for its folders; thus, you can use VM concurrently with other
  1073. UNIX mail readers such as Berkeley Mail and ELM.\n")
  1074.     (about-show-linked-info 'larsi "\
  1075. Author of Gnus the Usenet news and Mail reading package in the
  1076. standard XEmacs distribution, and contributor of various enhancements
  1077. and portability fixes.  Lars is a student at the Institute of
  1078. Informatics at the University of Oslo.  He is currently plumbing away
  1079. at his majors work at the Institute of Physics, working on an SCI
  1080. project connected with CASCADE and CERN and stuff.\n")
  1081.     (about-show-linked-info 'jens "\
  1082. I'm currently working at the University of Karlsruhe, Germany on
  1083. getting my diploma thesis on Supersymmetry (uuh, that's physics) done.
  1084. After that (and all the remaining exams) I'm looking forward to make a
  1085. living out of my hobbies -- computers (and graphics). But because I
  1086. have no deadline for the exams and XEmacs betas are released at a high
  1087. rate this may take some time...\n")
  1088.     (about-show-linked-info 'jareth "\
  1089. Jareth Hein is a mountain boy who abandoned his home state of Colorado
  1090. for the perpetual state of chaos known as Tokyo in a failed attempt to
  1091. become a cel-animator, and a more successful one to become a
  1092. computer-game programmer. As he happens to be bilingual (guess which
  1093. two?) he's been doing quite a bit of MULE hacking. He's also getting
  1094. his hands dirty in the graphics areas as well.\n")
  1095.     (about-show-linked-info 'morioka "\
  1096. I am the author of tm-view (general MIME Viewer for GNU Emacs) and
  1097. major author and maintainer of tm (Tools for MIME; general MIME
  1098. package for GNU Emacs).  In addition, I am working to unify MULE API
  1099. for Emacs and XEmacs.  In XEmacs, I have ported many mule features.
  1100.  
  1101. I am a doctoral student at School of Information Science of JAIST
  1102. \(Japan Advanced Institute of Science and Technology, Hokuriku).  I'm
  1103. interested in Natural Language, Affordance and writing systems.\n")
  1104.     (about-show-linked-info 'dmoore "\
  1105. David has contributed greatly to the quest to speed up XEmacs.  He is
  1106. a student in the Computer Systems Laboratory at UCSD.  When he manages
  1107. to have free time, he usually spends it on 200 mile bicycle rides,
  1108. learning german or showing people the best mail & news environment
  1109. he's found in 10 years.  (That'd be XEmacs, Gnus and bbdb, of course.)
  1110. He can be found at `druidmuck.egbt.org 4201' at various hours of the
  1111. day.\n")
  1112.     (about-show-linked-info 'sperber "\
  1113. Mike ported EFS to XEmacs 20 and integrated EFS into XEmacs.  He's
  1114. also responsible for the ports of facemenu.el and enriched.el.  When
  1115. Mike isn't busy putting together patches for free software he has just
  1116. installed or changing his hairstyle, he does research in modern
  1117. programming languages and their implementation, and hopes that one day
  1118. XEmacs will speak Scheme.\n")
  1119.     (about-show-linked-info 'vin "\
  1120. Vin helps maintain the older, more mature (read: moldy) versions of
  1121. XEmacs.  Vin has maintained the official XEmacs patch pages.\n")
  1122.     (about-show-linked-info 'thiessel "\
  1123. On May 1, 1996 he started working at University of Kaiserslautern in
  1124. the field of computer aided analog circuit design. His
  1125. responsibilities include the development and design of a CAD-Tool for
  1126. analog integrated circuits with special emphasis on distributed
  1127. software concepts.
  1128.  
  1129. When all the daily hacking is done he tries to take care of XEmacs
  1130. website at <http://www.xemacs.org>.\n")
  1131.     (about-show-linked-info 'ajc "\
  1132. When not helping maintain the XEmacs website, Andrew is a Network
  1133. Software Engineer(tm) for Monash University in Australia, maintaining
  1134. webservers and doing random other things.  As well as spending spare
  1135. time being an Eager Young Space Cadet and fiddling with XEmacs/Gnus
  1136. et. al., he spends his time pursuing, among other things, a Life.
  1137. Some of this currently involves doing an A-Z (by country) of
  1138. restaurants with friends, and has, in the past, involved dyeing his
  1139. hair various colours.\n")
  1140.     (about-show-linked-info 'kazz "\
  1141. IENAGA Kazuyuki is the XEmacs technical lead on BSD, particularly
  1142. FreeBSD.\n")
  1143.     (about-show-linked-info 'dkindred "\
  1144. Darrell tends to come out of the woodwork a couple of weeks 
  1145. before a new release with a flurry of fixes for bugs that 
  1146. annoy him.  He hopes he's spared you from a core dump or two.
  1147.  
  1148. Darrell is currently a doctoral student in computer science at
  1149. Carnegie Mellon University, but he's trying hard to kick that
  1150. habit.\n")
  1151.     (about-show-linked-info 'dv "\
  1152. I'm currently working (Ph.D.) on the cognitive aspects of
  1153. Human-Machine Interaction in Virtual Environments, and especialy on
  1154. the possibility of adding (artificial) intelligence between the system 
  1155. and the operator, in order to detect the intentions of the latter.
  1156.  
  1157. Otherwise, I'm, say, 35.82% professional Jazz guitar player,
  1158. which means that's not the way I earn my crust, but things may very
  1159. well reverse in the future ...\n")
  1160.     (about-show-linked-info 'marcpa "\
  1161. I work for Positron Industries Inc., Public Safety Division.\n")
  1162.     (about-show-linked-info 'pez "\
  1163. Author of SQL Mode, edit-toolbar, mailtool-mode, and various other
  1164. small packages with varying degrees of usefulness.\n")
  1165.     (about-show-linked-info 'rickc "\
  1166. The hacker formerly known as Rick Busdiecker, maintainer of ILISP.\n")
  1167.     (about-show-linked-info 'rossini "\
  1168. Author of the first XEmacs FAQ, as well as minor priest in the
  1169. movement to get every statistician in the world to use XEmacs for
  1170. statistical programming and data analysis.  Current development lead
  1171. for ESS (Emacs Speaks Statistics), a mode and inferior mode for
  1172. statistical programming and data analysis for SAS, S, S-PLUS, R,
  1173. XLispStat; configurable for nearly any other statistical
  1174. language/package one might want.  In spare time, acts as a
  1175. Ph.D. (bio)statistician for money and amusement.  Current position:
  1176. Assistant Professor of Statistics at the University of South Carolina.\n")
  1177.     (about-show-linked-info 'stigb "\
  1178. Currently studying computer science in Trondheim, Norway.  Full time
  1179. Linux user and proud of it.  XEmacs hacker light.  Maintainer of the
  1180. RPM package.\n")
  1181.     (about-show-linked-info 'ograf "\
  1182. Is currently working on the integration of OffiX and CDE drag-and-drop
  1183. into the event system of XEmacs.\n")
  1184.     (about-show-linked-info 'juhp "\
  1185. Author of \"find-func.el\".\n")
  1186.     (about-show-linked-info 'jason "\
  1187. Beta tester and manager of the various XEmacs mailing lists.
  1188. Also responsible for the binary kits.
  1189. Originator and maintainer of the gnus.org domain.\n")
  1190.     (flet ((print-short (name addr &optional shortinfo)
  1191.          (concat (about-with-face name 'italic)
  1192.              (about-tabs name)
  1193.              "<" addr ">\n"
  1194.              (if shortinfo (concat shortinfo "\n") ""))))
  1195.       (widget-insert
  1196.        (print-short "Eduardo Pelegri-Llopart" "pelegri@eng.sun.com" "\
  1197. Author of EOS, a package included in the standard XEmacs distribution
  1198. that integrates XEmacs with the SPARCworks development environment
  1199. from Sun.  Past lead for XEmacs at Sun; advocated the validity of
  1200. using Epoch, and later Lemacs, at Sun through several early
  1201. prototypes.\n")
  1202.        (print-short "Matthieu Devin" "devin@rs.com" "\
  1203. Part of the original (pre-19.0) Lucid Emacs development team.
  1204. Matthieu wrote the initial Energize interface, designed the
  1205. toolkit-independent Lucid Widget library, and fixed enough redisplay
  1206. bugs to last a lifetime.  The features in Lucid Emacs were largely
  1207. inspired by Matthieu's initial prototype of an Energize interface
  1208. using Epoch.\n")
  1209.        (print-short "Harlan Sexton" "hbs@odi.com" "\
  1210. Part of the original (pre-19.0) Lucid Emacs development team.  Harlan
  1211. designed and implemented many of the low level data structures which
  1212. are original to the Lucid version of Emacs, including extents and hash
  1213. tables.\n")
  1214.        (print-short "Eric Benson" "eb@kaleida.com" "\
  1215. Also part of the original Lucid Emacs development team.  Eric played a
  1216. big part in the design of many aspects of the system, including the
  1217. new command loop and keymaps, fixed numerous bugs, and has been a
  1218. reliable beta tester ever since.\n")
  1219.        (print-short "John Rose" "john.rose@sun.com" "\
  1220. Author of many extensions to the `extents' code, including the initial
  1221. implementation of `duplicable' properties.\n")
  1222.        (print-short "Hans Muller" "hmuller@eng.sun.com" "\
  1223. Author of the code used to connect XEmacs with ToolTalk, and of an
  1224. early client of the external Emacs widget.\n")
  1225.        (print-short "David hobley" "david.hobley@usa.net" "\
  1226. I used to do real work, but now I am a Project Manager for one of the
  1227. Telco's in Australia. In my spare time I like to get back to basics and
  1228. muck around with things. As a result I started the NT port. Hopefully I
  1229. will get to finish it sometime sooner rather than later. I do vaguely
  1230. remember University where it seems like I had more spare time that I can
  1231. believe now. Oh well, such is life.\n")
  1232.        "\n\
  1233. In addition to those just mentioned, the following people have spent a
  1234. great deal of effort providing feedback, testing beta versions of
  1235. XEmacs, providing patches to the source code, or doing all of the
  1236. above.  We couldn't have done it without them.\n\n"
  1237.        (print-short "Nagi M. Aboulenein" "aboulene@ponder.csci.unt.edu")
  1238.        (print-short "Per Abrahamsen" "abraham@dina.kvl.dk")
  1239.        (print-short "Gary Adams" "gra@zeppo.East.Sun.COM")
  1240.        (print-short "Gennady Agranov" "agranov@csa.CS.Technion.Ac.IL")
  1241.        (print-short "Adrian Aichner" "aichner@ecf.teradyne.com")
  1242.        (print-short "Mark Allender" "allender@vnet.IBM.COM")
  1243.        (print-short "Butch Anton" "butch@zaphod.uchicago.edu")
  1244.        (print-short "Fred Appelman" "Fred.Appelman@cv.ruu.nl")
  1245.        (print-short "Erik \"The Pope\" Arneson" "lazarus@mind.net")
  1246.        (print-short "Tor Arntsen" "tor@spacetec.no")
  1247.        (print-short "Marc Aurel" "4-tea-2@bong.saar.de")
  1248.        (print-short "Larry Auton" "lda@control.att.com")
  1249.        (print-short "Oswald P. Backus IV" "backus@altagroup.com")
  1250.        (print-short "Mike Battaglia" "mbattagl@dsccc.com")
  1251.        (print-short "Neal Becker" "neal@ctd.comsat.com")
  1252.        (print-short "Paul Bibilo" "peb@delcam.com")
  1253.        (print-short "Leonard Blanks" "ltb@haruspex.demon.co.uk")
  1254.        (print-short "Jan Borchers" "job@tk.uni-linz.ac.at")
  1255.        (print-short "Mark Borges" "mdb@cdc.noaa.gov")
  1256.        (print-short "David P. Boswell" "daveb@tau.space.thiokol.com")
  1257.        (print-short "Tim Bradshaw" "tfb@edinburgh.ac.uk")
  1258.        (print-short "Rick Braumoeller" "rickb@mti.sgi.com")
  1259.        (print-short "Matthew J. Brown" "mjb@doc.ic.ac.uk")
  1260.        (print-short "Alastair Burt" "burt@dfki.uni-kl.de")
  1261.        (print-short "Richard Caley" "rjc@cstr.edinburgh.ac.uk")
  1262.        (print-short "Stephen Carney" "carney@gvc.dec.com")
  1263.        (print-short "Lorenzo M. Catucci" "lorenzo@argon.roma2.infn.it")
  1264.        (print-short "Philippe Charton" "charton@lmd.ens.fr")
  1265.        (print-short "Peter Cheng" "peter.cheng@sun.com")
  1266.        (print-short "Jin S. Choi" "jin@atype.com")
  1267.        (print-short "Tomasz J. Cholewo" "tjchol01@mecca.spd.louisville.edu")
  1268.        (print-short "Serenella Ciongoli" "czs00@ladybug.oes.amdahl.com")
  1269.        (print-short "Glynn Clements" "glynn@sensei.co.uk")
  1270.        (print-short "Richard Cognot" "cognot@ensg.u-nancy.fr")
  1271.        (print-short "Andy Cohen" "cohen@andy.bu.edu")
  1272.        (print-short "Richard Coleman" "coleman@math.gatech.edu")
  1273.        (print-short "Andrew J Cosgriff" "ajc@bing.wattle.id.au")
  1274.        (print-short "Nick J. Crabtree" "nickc@scopic.com")
  1275.        (print-short "Christopher Davis" "ckd@kei.com")
  1276.        (print-short "Soren Dayton" "csdayton@cs.uchicago.edu")
  1277.        (print-short "Chris Dean" "ctdean@cogit.com")
  1278.        (print-short "Michael Diers" "mdiers@logware.de")
  1279.        (print-short "William G. Dubuque" "wgd@martigny.ai.mit.edu")
  1280.        (print-short "Steve Dunham" "dunham@dunham.tcimet.net")
  1281.        (print-short "Samuel J. Eaton" "samuele@cogs.susx.ac.uk")
  1282.        (print-short "Carl Edman" "cedman@Princeton.EDU")
  1283.        (print-short "Dave Edmondson" "davided@sco.com")
  1284.        (print-short "Jonathan Edwards" "edwards@intranet.com")
  1285.        (print-short "Eric Eide" "eeide@asylum.cs.utah.edu")
  1286.        (print-short "EKR" "ekr@terisa.com")
  1287.        (print-short "Oscar Figueiredo" "Oscar.Figueiredo@di.epfl.ch")
  1288.        (print-short "David Fletcher" "frodo@tsunami.com")
  1289.        (print-short "Paul Flinders" "ptf@delcam.co.uk")
  1290.        (print-short "Jered J Floyd" "jered@mit.edu")
  1291.        (print-short "Gary D. Foster" "Gary.Foster@Corp.Sun.COM")
  1292.        (print-short "Jerry Frain" "jerry@sneffels.tivoli.com")
  1293.        (print-short "Holger Franz" "hfranz@physik.rwth-aachen.de")
  1294.        (print-short "Benjamin Fried" "bf@morgan.com")
  1295.        (print-short "Barry Friedman" "friedman@nortel.ca")
  1296.        (print-short "Noah Friedman" "friedman@splode.com")
  1297.        (print-short "Kazuyoshi Furutaka" "furutaka@Flux.tokai.jaeri.go.jp")
  1298.        (print-short "Lew Gaiter III" "lew@StarFire.com")
  1299.        (print-short "Olivier Galibert" "Olivier.Galibert@mines.u-nancy.fr")
  1300.        (print-short "Itay Gat" "itay@cs.huji.ac.il")
  1301.        (print-short "Tim Geisler" "Tim.Geisler@informatik.uni-muenchen.de")
  1302.        (print-short "Dave Gillespie" "daveg@synaptics.com")
  1303.        (print-short "Christian F. Goetze" "cg@bigbook.com")
  1304.        (print-short "Yusuf Goolamabbas" "yusufg@iss.nus.sg")
  1305.        (print-short "Wolfgang Grieskamp" "wg@cs.tu-berlin.de")
  1306.        (print-short "John Griffith" "griffith@sfs.nphil.uni-tuebingen.de")
  1307.        (print-short "James Grinter" "jrg@demon.net")
  1308.        (print-short "Ben Gross" "bgross@uiuc.edu")
  1309.        (print-short "Dirk Grunwald" "grunwald@foobar.cs.Colorado.EDU")
  1310.        (print-short "Michael Guenther" "michaelg@igor.stuttgart.netsurf.de")
  1311.        (print-short "Dipankar Gupta" "dg@hplb.hpl.hp.com")
  1312.        (print-short "Markus Gutschke" "gutschk@GOEDEL.UNI-MUENSTER.DE")
  1313.        (print-short "Adam Hammer" "hammer@cs.purdue.edu")
  1314.        (print-short "Magnus Hammerin" "magnush@epact.se")
  1315.        (print-short "ChangGil Han" "cghan@phys401.phys.pusan.ac.kr")
  1316.        (print-short "Derek Harding" "dharding@lssec.bt.co.uk")
  1317.        (print-short "Michael Harnois" "mharnois@sbt.net")
  1318.        (print-short "John Haxby" "J.Haxby@isode.com")
  1319.        (print-short "Karl M. Hegbloom" "karlheg@inetarena.com")
  1320.        (print-short "Benedikt Heinen" "beh@icemark.thenet.ch")
  1321.        (print-short "Stephan Herrmann" "sh@first.gmd.de")
  1322.        (print-short "Charles Hines" "chuck_hines@VNET.IBM.COM")
  1323.        (print-short "Shane Holder" "holder@rsn.hp.com")
  1324.        (print-short "David Hughes" "djh@harston.cv.com")
  1325.        (print-short "Tatsuya Ichikawa" "ichikawa@hv.epson.co.jp")
  1326.        (print-short "Andrew Innes" "andrewi@harlequin.co.uk")
  1327.        (print-short "Andreas Jaeger" "aj@arthur.rhein-neckar.de")
  1328.        (print-short "Markku Jarvinen" "Markku.Jarvinen@simpukka.funet.fi")
  1329.        (print-short "Robin Jeffries" "robin.jeffries@sun.com")
  1330.        (print-short "Philip Johnson" "johnson@uhics.ics.Hawaii.Edu")
  1331.        (print-short "J. Kean Johnston" "jkj@paradigm-sa.com")
  1332.        (print-short "John W. Jones" "jj@asu.edu")
  1333.        (print-short "Andreas Kaempf" "andreas@sccon.com")
  1334.        (print-short "Yoshiaki Kasahara" "kasahara@nc.kyushu-u.ac.jp")
  1335.        (print-short "Amir Katz" "amir@ndsoft.com")
  1336.        (print-short "Doug Keller" "dkeller@vnet.ibm.com")
  1337.        (print-short "Hunter Kelly" "retnuh@corona")
  1338.        (print-short "Gregor Kennedy" "gregork@dadd.ti.com")
  1339.        (print-short "Michael Kifer" "kifer@cs.sunysb.edu")
  1340.        (print-short "Yasuhiko Kiuchi" "kiuchi@dsp.ksp.fujixerox.co.jp")
  1341.        (print-short "Greg Klanderman" "greg@alphatech.com")
  1342.        (print-short "Valdis Kletnieks" "Valdis.Kletnieks@vt.edu")
  1343.        (print-short "Rob Kooper" "kooper@cc.gatech.edu")
  1344.        (print-short "Peter Skov Knudsen" "knu@dde.dk")
  1345.        (print-short "Jens Krinke" "krinke@ips.cs.tu-bs.de")
  1346.        (print-short "Mats Larsson" "Mats.Larsson@uab.ericsson.se")
  1347.        (print-short "Simon Leinen" "simon@instrumatic.ch")
  1348.        (print-short "Carsten Leonhardt" "leo@arioch.tng.oche.de")
  1349.        (print-short "James LewisMoss" "moss@cs.sc.edu")
  1350.        (print-short "Mats Lidell" "mats.lidell@contactor.se")
  1351.        (print-short "Matt Liggett" "mliggett@seven.ucs.indiana.edu")
  1352.        (print-short "Christian Limpach" "Christian.Limpach@nice.ch")
  1353.        (print-short "Markus Linnala" "maage@b14b.tupsu.ton.tut.fi")
  1354.        (print-short "Robert Lipe" "robertl@arnet.com")
  1355.        (print-short "Derrell Lipman" "derrell@vis-av.com")
  1356.        (print-short "Damon Lipparelli" "lipp@aa.net")
  1357.        (print-short "Hamish Macdonald" "hamish@bnr.ca")
  1358.        (print-short "Ian MacKinnon" "imackinnon@telia.co.uk")
  1359.        (print-short "Patrick MacRoberts" "macro@hpcobr30.cup.hp.com")
  1360.        (print-short "Tonny Madsen" "Tonny.Madsen@netman.dk")
  1361.        (print-short "Ketil Z Malde" "ketil@ii.uib.no")
  1362.        (print-short "Steve March" "smarch@quaver.urbana.mcd.mot.com")
  1363.        (print-short "Ricardo Marek" "ricky@ornet.co.il")
  1364.        (print-short "Pekka Marjola" "pema@iki.fi")
  1365.        (print-short "Simon Marshall" "simon@gnu.ai.mit.edu")
  1366.        (print-short "Dave Mason" "dmason@plg.uwaterloo.ca")
  1367.        (print-short "Jason R Mastaler" "jason@4b.org")
  1368.        (print-short "Jaye Mathisen" "mrcpu@cdsnet.net")
  1369.        (print-short "Jason McLaren" "mclaren@math.mcgill.ca")
  1370.        (print-short "Michael McNamara" "mac@silicon-sorcery.com")
  1371.        (print-short "Michael Meissner" "meissner@osf.org")
  1372.        (print-short "David M. Meyer" "meyer@ns.uoregon.edu")
  1373.        (print-short "Brad Miller" "bmiller@cs.umn.edu")
  1374.        (print-short "Jeff Miller" "jmiller@smart.net")
  1375.        (print-short "John Morey" "jmorey@crl.com")
  1376.        (print-short "Rob Mori" "rob.mori@sun.com")
  1377.        (print-short "Heiko Muenkel" "muenkel@tnt.uni-hannover.de")
  1378.        (print-short "Arup Mukherjee" "arup+@cs.cmu.edu")
  1379.        (print-short "Colas Nahaboo" "Colas.Nahaboo@sophia.inria.fr")
  1380.        (print-short "Lynn D. Newton" "lynn@ives.phx.mcd.mot.com")
  1381.        (print-short "Casey Nielson" "knielson@joule.elee.calpoly.edu")
  1382.        (print-short "Georg Nikodym" "Georg.Nikodym@canada.sun.com")
  1383.        (print-short "Andy Norman" "ange@hplb.hpl.hp.com")
  1384.        (print-short "Joe Nuspl" "nuspl@sequent.com")
  1385.        (print-short "Kim Nyberg" "kny@tekla.fi")
  1386.        (print-short "David Ofelt" "ofelt@getalife.Stanford.EDU")
  1387.        (print-short "Alexandre Oliva" "oliva@dcc.unicamp.br")
  1388.        (print-short "Tore Olsen" "toreo@colargol.idb.hist.no")
  1389.        (print-short "Greg Onufer" "Greg.Onufer@eng.sun.com")
  1390.        (print-short "Achim Oppelt" "aoppelt@theorie3.physik.uni-erlangen.de")
  1391.        (print-short "Rebecca Ore" "rebecca.ore@op.net")
  1392.        (print-short "Sudeep Kumar Palat" "palat@idt.unit.no")
  1393.        (print-short "Joel Peterson" "tarzan@aosi.com")
  1394.        (print-short "Thomas A. Peterson" "tap@src.honeywell.com")
  1395.        (print-short "Tibor Polgar" "tlp00@eng.amdahl.com")
  1396.        (print-short "Frederic Poncin" "fp@info.ucl.ac.be")
  1397.        (print-short "E. Rehmi Post" "rehmi@asylum.sf.ca.us")
  1398.        (print-short "Martin Pottendorfer" "Martin.Pottendorfer@aut.alcatel.at")
  1399.        (print-short "Colin Rafferty" "craffert@ml.com")
  1400.        (print-short "Paul M Reilly" "pmr@pajato.com")
  1401.        (print-short "Jack Repenning" "jackr@sgi.com")
  1402.        (print-short "Daniel Rich" "drich@cisco.com")
  1403.        (print-short "Roland Rieke" "rol@darmstadt.gmd.de")
  1404.        (print-short "Art Rijos" "art.rijos@SNET.com")
  1405.        (print-short "Russell Ritchie" "ritchier@britannia-life.co.uk")
  1406.        (print-short "Roland" "rol@darmstadt.gmd.de")
  1407.        (print-short "Mike Russell" "mjruss@rchland.vnet.ibm.com")
  1408.        (print-short "Jan Sandquist" "etxquist@iqa.ericsson.se")
  1409.        (print-short "Marty Sasaki" "sasaki@spdcc.com")
  1410.        (print-short "Mike Scheidler" "c23mts@eng.delcoelect.com")
  1411.        (print-short "Daniel Schepler" "daniel@shep13.wustl.edu")
  1412.        (print-short "Darrel Schneider" "darrel@slc.com")
  1413.        (print-short "Hayden Schultz" "haydens@ll.mit.edu")
  1414.        (print-short "Cotton Seed" "cottons@cybercom.net")
  1415.        (print-short "Axel Seibert" "seiberta@informatik.tu-muenchen.de")
  1416.        (print-short "Odd-Magne Sekkingstad" "oddms@ii.uib.no")
  1417.        (print-short "John Shen" "zfs60@cas.org")
  1418.        (print-short "Murata Shuuichirou" "mrt@mickey.ai.kyutech.ac.jp")
  1419.        (print-short "Matt Simmons" "simmonmt@acm.org")
  1420.        (print-short "Dinesh Somasekhar" "somasekh@ecn.purdue.edu")
  1421.        (print-short "Jeffrey Sparkes" "jsparkes@bnr.ca")
  1422.        (print-short "Manoj Srivastava" "srivasta@pilgrim.umass.edu")
  1423.        (print-short "Francois Staes" "frans@kiwi.uia.ac.be")
  1424.        (print-short "Anders Stenman" "stenman@isy.liu.se")
  1425.        (print-short "Jason Stewart" "jasons@cs.unm.edu")
  1426.        (print-short "Rick Tait" "rickt@gnu.ai.mit.edu")
  1427.        (print-short "Samuel Tardieu" "sam@inf.enst.fr")
  1428.        (print-short "James Thompson" "thompson@wg2.waii.com")
  1429.        (print-short "Raymond L. Toy" "toy@rtp.ericsson.se")
  1430.        (print-short "Remek Trzaska" "remek@npac.syr.edu")
  1431.        (print-short "TSUTOMU Nakamura" "tsutomu@rs.kyoto.omronsoft.co.jp")
  1432.        (print-short "Stephen Turnbull" "turnbull@sk.tsukuba.ac.jp")
  1433.        (print-short "John Turner" "turner@xdiv.lanl.gov")
  1434.        (print-short "UENO Fumihiro" "7m2vej@ritp.ye.IHI.CO.JP")
  1435.        (print-short "Aki Vehtari" "Aki.Vehtari@hut.fi")
  1436.        (print-short "Juan E. Villacis" "jvillaci@cs.indiana.edu")
  1437.        (print-short "Jan Vroonhof" "vroonhof@math.ethz.ch")
  1438.        (print-short "Vladimir Vukicevic" "vladimir@intrepid.com")
  1439.        (print-short "David Walte" "djw18@cornell.edu")
  1440.        (print-short "Peter Ware" "ware@cis.ohio-state.edu")
  1441.        (print-short "Christoph Wedler" "wedler@fmi.uni-passau.de")
  1442.        (print-short "Yoav Weiss" "yoav@zeus.datasrv.co.il")
  1443.        (print-short "Rod Whitby" "rwhitby@asc.corp.mot.com")
  1444.        (print-short "Rich Williams" "rdw@hplb.hpl.hp.com")
  1445.        (print-short "David C Worenklein" "dcw@gcm.com")
  1446.        (print-short "Takeshi Yamada" "yamada@sylvie.kecl.ntt.jp")
  1447.        (print-short "Katsumi Yamaoka" "yamaoka@ga.sony.co.jp")
  1448.        (print-short "Jason Yanowitz" "yanowitz@eternity.cs.umass.edu")
  1449.        (print-short "La Monte Yarroll" "piggy@hilbert.maths.utas.edu.au")
  1450.        (print-short "Blair Zajac" "blair@olympia.gps.caltech.edu")
  1451.        (print-short "Daniel Zivkovic" "daniel@canada.sun.com")
  1452.        (print-short "Karel Zuiderveld" "Karel.Zuiderveld@cv.ruu.nl")
  1453.        "\n"))
  1454.     (about-finish-buffer)))
  1455.  
  1456. ;;; about.el ends here
  1457.